package firewall;
import java.util.List;
import java.util.ArrayList;
public abstract class Regla {

	private List<Accion> acciones = new ArrayList<Accion>();
	
	public List<Accion> getAcciones() {
		return acciones;
	}

	private boolean negadora = false;

	public abstract boolean matchea(Paquete paquete);
	
	public void setSosNegadora(boolean condicion){
		this.negadora = condicion;
	}
	
	public boolean getSosNegadora(){
		return this.negadora;
	}
	
	public void ejecutarAcciones(Paquete paquete){
	
		for (int i = 0; i < this.acciones.size(); i++)
			acciones.get(i).ejecutarAccionPara(paquete);

		if (this.negadora)
			throw new EsNegadoraException();
		
	}
	
	public void agregarAccion(Accion accion) {
		acciones.add(accion);
	}
	
}
